#pragma once
#include "esp_lcd_panel_interface.h"
#include "esp_lcd_panel_io.h"
#include "esp_lcd_panel_vendor.h"
#include "esp_lcd_panel_ops.h"
#include "esp_lcd_panel_commands.h"

//  static esp_err_t panel_ili9341_del(esp_lcd_panel_t *panel);                                                                                 // 移除屏幕
//  static esp_err_t panel_ili9341_reset(esp_lcd_panel_t *panel);                                                                               // 重启屏幕
//  static esp_err_t panel_ili9341_init(esp_lcd_panel_t *panel);                                                                                // 初始化屏幕
//  static esp_err_t panel_ili9341_draw_bitmap(esp_lcd_panel_t *panel, int x_start, int y_start, int x_end, int y_end, const void *color_data); // 写入colormap
//  static esp_err_t panel_ili9341_invert_color(esp_lcd_panel_t *panel, bool invert_color_data);                                                // 反色
//  static esp_err_t panel_ili9341_mirror(esp_lcd_panel_t *panel, bool mirror_x, bool mirror_y);                                                // 镜像
//  static esp_err_t panel_ili9341_swap_xy(esp_lcd_panel_t *panel, bool swap_axes);                                                             // 交换XY
//  static esp_err_t panel_ili9341_set_gap(esp_lcd_panel_t *panel, int x_gap, int y_gap);                                                       // 设置边框偏移
//  static esp_err_t panel_ili9341_disp_on_off(esp_lcd_panel_t *panel, bool off);
extern esp_err_t esp_lcd_new_panel_ili9341(const esp_lcd_panel_io_handle_t io, const esp_lcd_panel_dev_config_t *panel_dev_config, esp_lcd_panel_handle_t *ret_panel);